#include <stdio.h>
#include <string.h>

void string_matching()
{
    char get_str[1024][1024]={{0}};
    strcpy(get_str[2], (char *)"({[");  //自定义需要匹配的字符串
    strcpy(get_str[3], (char *)")}]");  //自定义需要匹配的字符串
    int str_num=0, i=0, j=0, k=0;
    scanf("%[^\n]",get_str[0]);//输入带空格的字符串
    strcpy(get_str[1], get_str[0]);     //备份字符串

    for(str_num=0; str_num<1024; str_num++) //先获取字符个数
    {
        if(get_str[1][str_num] == '\0')
            break;
    }
    printf("get_str[0]%s %d\n", get_str[1], str_num);
    printf("get_str[1]%s\n", get_str[2]);
    printf("get_str[2]%s\n", get_str[3]);

    for(i=0; i<str_num; i++)
    {
        if(get_str[1][i] == '\0')
            break;
        for(j=0; j<3; j++)
        {
            if(get_str[1][i] == get_str[2][j])  //先匹配左符
            {
                for(k=i; k<str_num; k++)
                {
                    if(get_str[1][k] == get_str[3][j])  //左符匹配则继续匹配右符
                    {
                        printf("%c%c\n", get_str[2][j], get_str[3][j]);
                        get_str[1][k] = ' ';        //将匹配成功的位置置空格符
                        get_str[1][i] = ' ';        //将匹配成功的位置置空格符
                        break;
                    }
                }
            }
        }

    }

}

int main()
{
     string_matching();
     return 0;
}
